package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.WithdrawStateEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提币申请(提币码)
 *
 * @author Bridge.Xu
 * @date 2020年01月29日
 */

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "withdraw_code_record")
public class WithdrawCodeRecord {

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 申请人id
     */
    @ApiModelProperty(value = "申请人id")
    private Long memberId;

    /**
     * 币种
     */
    @ApiModelProperty(value = "币种")
    private Coin coin;

    /**
     * 提现总数量
     */
    @ApiModelProperty(value = "提现总数量")
    private BigDecimal withdrawAmount;

    /**
     * 手续费
     */
    //@ApiModelProperty(value = "手续费")
    // private BigDecimal fee;

    /**
     * 预计到账数量
     */
    //@ApiModelProperty(value = "预计到账数量")
    // private BigDecimal arrivedAmount;

    /**
     * 申请提现时间
     */
    @ApiModelProperty(value = "申请提现时间")
    private LocalDateTime createTime;

    /**
     * 充值时间(提现码被人充值)
     */
    @ApiModelProperty(value = "充值时间(提现码被人充值)")
    private LocalDateTime dealTime;

    /**
     * 提现状态
     */
    @ApiModelProperty(value = "提现状态")
    private WithdrawStateEnum status = WithdrawStateEnum.PROCESSING;

    /**
     * 提现码
     */
    @ApiModelProperty(value = "提现码")
    private String withdrawCode;

    /**
     * 充值人id(recharge member id)
     */
    @ApiModelProperty(value = "充值人id(recharge member id)")
    private Long rmemberId;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}
